{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"collapsed_sections":["7dafXWCMujav"],"authorship_tag":"ABX9TyPuwlBu5KS5aTBCsBQUsYnR"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"markdown","source":["# MovieLens Dataset"],"metadata":{"id":"hSaOgBx-q5bj"}},{"cell_type":"code","source":["import numpy as np\n","import pandas as pd"],"metadata":{"id":"H-ruJRCurlFT"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["Mounting google drive and loading data"],"metadata":{"id":"2ukKIKQdrBow"}},{"cell_type":"code","source":["# mount the drive content to google colab\n","from google.colab import drive\n","drive.mount('/content/drive')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"R7FwmBCdrRnE","executionInfo":{"status":"ok","timestamp":1714752424514,"user_tz":-180,"elapsed":20987,"user":{"displayName":"Mostafa Touny","userId":"03224802388069779869"}},"outputId":"6e11feb2-7c17-48c2-9504-a39df5e1399f"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Mounted at /content/drive\n"]}]},{"cell_type":"code","source":["# columns are movies ids\n","# cells are user's rating for the corresponding movie\n","df = pd.read_csv(\"/content/drive/MyDrive/Spring 2024 - Math with Applications/MTH106 Linear Algebra/Project/user-movie-rating.csv\")\n","df"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":423},"id":"5v-T89q1ra2z","executionInfo":{"status":"ok","timestamp":1714752429134,"user_tz":-180,"elapsed":3615,"user":{"displayName":"Mostafa Touny","userId":"03224802388069779869"}},"outputId":"74156fff-9102-443e-f1b3-bb9bf0b94c88"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" userId 1 2 3 4 5 6 7 8 9 ... 193565 193567 \\\n","0 1 4.0 NaN 4.0 NaN NaN 4.0 NaN NaN NaN ... NaN NaN \n","1 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN \n","2 3 NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN \n","3 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN \n","4 5 4.0 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN \n",".. ... ... ... ... .. .. ... ... .. .. ... ... ... \n","605 606 2.5 NaN NaN NaN NaN NaN 2.5 NaN NaN ... NaN NaN \n","606 607 4.0 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN \n","607 608 2.5 2.0 2.0 NaN NaN NaN NaN NaN NaN ... NaN NaN \n","608 609 3.0 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN \n","609 610 5.0 NaN NaN NaN NaN 5.0 NaN NaN NaN ... NaN NaN \n","\n"," 193571 193573 193579 193581 193583 193585 193587 193609 \n","0 NaN NaN NaN NaN NaN NaN NaN NaN \n","1 NaN NaN NaN NaN NaN NaN NaN NaN \n","2 NaN NaN NaN NaN NaN NaN NaN NaN \n","3 NaN NaN NaN NaN NaN NaN NaN NaN \n","4 NaN NaN NaN NaN NaN NaN NaN NaN \n",".. ... ... ... ... ... ... ... ... \n","605 NaN NaN NaN NaN NaN NaN NaN NaN \n","606 NaN NaN NaN NaN NaN NaN NaN NaN \n","607 NaN NaN NaN NaN NaN NaN NaN NaN \n","608 NaN NaN NaN NaN NaN NaN NaN NaN \n","609 NaN NaN NaN NaN NaN NaN NaN NaN \n","\n","[610 rows x 9725 columns]"],"text/html":["\n","
\n"," | userId | \n","1 | \n","2 | \n","3 | \n","4 | \n","5 | \n","6 | \n","7 | \n","8 | \n","9 | \n","... | \n","193565 | \n","193567 | \n","193571 | \n","193573 | \n","193579 | \n","193581 | \n","193583 | \n","193585 | \n","193587 | \n","193609 | \n","
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n","1 | \n","4.0 | \n","NaN | \n","4.0 | \n","NaN | \n","NaN | \n","4.0 | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
1 | \n","2 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
2 | \n","3 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
3 | \n","4 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
4 | \n","5 | \n","4.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","
605 | \n","606 | \n","2.5 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","2.5 | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
606 | \n","607 | \n","4.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
607 | \n","608 | \n","2.5 | \n","2.0 | \n","2.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
608 | \n","609 | \n","3.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
609 | \n","610 | \n","5.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","5.0 | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
610 rows × 9725 columns
\n","\n"," | movieId | \n","title | \n","genres | \n","
---|---|---|---|
0 | \n","1 | \n","Toy Story (1995) | \n","Adventure|Animation|Children|Comedy|Fantasy | \n","
1 | \n","2 | \n","Jumanji (1995) | \n","Adventure|Children|Fantasy | \n","
2 | \n","3 | \n","Grumpier Old Men (1995) | \n","Comedy|Romance | \n","
3 | \n","4 | \n","Waiting to Exhale (1995) | \n","Comedy|Drama|Romance | \n","
4 | \n","5 | \n","Father of the Bride Part II (1995) | \n","Comedy | \n","
... | \n","... | \n","... | \n","... | \n","
9737 | \n","193581 | \n","Black Butler: Book of the Atlantic (2017) | \n","Action|Animation|Comedy|Fantasy | \n","
9738 | \n","193583 | \n","No Game No Life: Zero (2017) | \n","Animation|Comedy|Fantasy | \n","
9739 | \n","193585 | \n","Flint (2017) | \n","Drama | \n","
9740 | \n","193587 | \n","Bungo Stray Dogs: Dead Apple (2018) | \n","Action|Animation | \n","
9741 | \n","193609 | \n","Andrew Dice Clay: Dice Rules (1991) | \n","Comedy | \n","
9742 rows × 3 columns
\n","\n"," | movieId | \n","
---|---|
0 | \n","1 | \n","
1 | \n","3 | \n","
2 | \n","5 | \n","
3 | \n","7 | \n","
4 | \n","9 | \n","
... | \n","... | \n","
4857 | \n","193565 | \n","
4858 | \n","193571 | \n","
4859 | \n","193579 | \n","
4860 | \n","193583 | \n","
4861 | \n","193587 | \n","
4862 rows × 1 columns
\n","\n"," | movieId | \n","title | \n","genres | \n","
---|---|---|---|
0 | \n","1 | \n","Toy Story (1995) | \n","Adventure|Animation|Children|Comedy|Fantasy | \n","
1 | \n","3 | \n","Grumpier Old Men (1995) | \n","Comedy|Romance | \n","
2 | \n","5 | \n","Father of the Bride Part II (1995) | \n","Comedy | \n","
3 | \n","7 | \n","Sabrina (1995) | \n","Comedy|Romance | \n","
4 | \n","9 | \n","Sudden Death (1995) | \n","Action | \n","
... | \n","... | \n","... | \n","... | \n","
4857 | \n","193565 | \n","Gintama: The Movie (2010) | \n","Action|Animation|Comedy|Sci-Fi | \n","
4858 | \n","193571 | \n","Silver Spoon (2014) | \n","Comedy|Drama | \n","
4859 | \n","193579 | \n","Jon Stewart Has Left the Building (2015) | \n","Documentary | \n","
4860 | \n","193583 | \n","No Game No Life: Zero (2017) | \n","Animation|Comedy|Fantasy | \n","
4861 | \n","193587 | \n","Bungo Stray Dogs: Dead Apple (2018) | \n","Action|Animation | \n","
4862 rows × 3 columns
\n","\n"," | movieId | \n","title | \n","
---|---|---|
0 | \n","1 | \n","Toy Story (1995) | \n","
1 | \n","3 | \n","Grumpier Old Men (1995) | \n","
2 | \n","5 | \n","Father of the Bride Part II (1995) | \n","
3 | \n","7 | \n","Sabrina (1995) | \n","
4 | \n","9 | \n","Sudden Death (1995) | \n","
... | \n","... | \n","... | \n","
4857 | \n","193565 | \n","Gintama: The Movie (2010) | \n","
4858 | \n","193571 | \n","Silver Spoon (2014) | \n","
4859 | \n","193579 | \n","Jon Stewart Has Left the Building (2015) | \n","
4860 | \n","193583 | \n","No Game No Life: Zero (2017) | \n","
4861 | \n","193587 | \n","Bungo Stray Dogs: Dead Apple (2018) | \n","
4862 rows × 2 columns
\n","\n"," | 1 | \n","2 | \n","3 | \n","4 | \n","5 | \n","6 | \n","7 | \n","8 | \n","9 | \n","10 | \n","... | \n","193565 | \n","193567 | \n","193571 | \n","193573 | \n","193579 | \n","193581 | \n","193583 | \n","193585 | \n","193587 | \n","193609 | \n","
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n","4.0 | \n","NaN | \n","4.0 | \n","NaN | \n","NaN | \n","4.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
1 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
2 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
3 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
4 | \n","4.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","... | \n","
605 | \n","2.5 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","2.5 | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
606 | \n","4.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
607 | \n","2.5 | \n","2.0 | \n","2.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","4.0 | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
608 | \n","3.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","4.0 | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
609 | \n","5.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","5.0 | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","... | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","NaN | \n","
610 rows × 9724 columns
\n","